package br.ufrj.neg.bean;

import java.util.ArrayList;

/**
 * Classe auxiliar que implemente a funcionaliade de campos idiomáveis dinâmicos.
 * A estrutura Questionario, por exemplo, possui uma lista de RespostaBean, sendo
 * que RespostaBean é um TraducaoBean. A interface com usuário permite a inserção
 * de um número ilimitado de respostas, de modo que não se sabe a princípio quantas
 * respostas o usuário irá cadastrar. O que se sabe é que existe um CampoIdiomável
 * respostas, mas não o seu tamanho.
 * 
 *  Dessa maeneira, é preciso suportar o caso em que o CampoIdiomavel possui mais de
 *  uma instância, como é o caso de RespostaBean na estrutura de Questionario. 
 *  
 *  A classe CampoIdiomavel é usada internamente, apenas, pela class FormTraducao. 
 *  Ela é usada como classe agrupadora para que o conteúdo a ser passado ao template 
 *  seja mais acessível. CamposIdiomáveis estáticos, que só possuem uma instância, não 
 *  devem adicionar nenhum elemento na lista intancias.
 * 
 * @author Daniel
 *
 */
public class CampoIdiomavel {

	private String nomeCampo,uniqueName;
	private String labelCampo;
	private ArrayList<CampoIdiomavel> instancias;
	
	
	public CampoIdiomavel(String nomeCampo,String labelCampo,String formName){
		this.nomeCampo = nomeCampo;
		this.labelCampo = labelCampo;
		this.uniqueName = formName + "_" + nomeCampo;
		
		this.instancias = new ArrayList<CampoIdiomavel>();
	}
	
	
	public String getNomeCampo() {
		return nomeCampo;
	}
	public void setNomeCampo(String nomeCampo) {
		this.nomeCampo = nomeCampo;
	}	
	public String getUniqueName() {
		return uniqueName;
	}
	public void setUniqueName(String uniqueName) {
		this.uniqueName = uniqueName;
	}
	public String getLabelCampo() {
		return labelCampo;
	}
	public void setLabelCampo(String labelCampo) {
		this.labelCampo = labelCampo;
	}
	public ArrayList<CampoIdiomavel> getInstancias() {
		return instancias;
	}
	public void setInstancias(ArrayList<CampoIdiomavel> instancias) {
		this.instancias = instancias;
	}
	
	
	
	
}
